home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ASME's Mechanical Engine…ing Toolkit 1997 December
/
ASME's Mechanical Engineering Toolkit 1997 December.iso
/
ai
/
prlg195b.lzh
/
EXPERT.LZH
/
PRODSYS
/
RULESPD.PRO
< prev
Wrap
Text File
|
1980-01-01
|
2KB
|
72 lines
/* RULESPD.PRO
by Xavier Salazar. May 29th, 1987
*/
menu:- cls,nl,
print('\n\t\t\tRULESPD.PRO'),print('\n\t\t\t-----------'),
title(R),datum(S),
print('\n\n\t\t\tBASE: ',R,'\t\tDATA: ',S),
print('\n\n\t\tc. Charge a file,'),
print('\n\t\tr. Result from facts,'),
print('\n\t\tf. Facts for a given result,'),
print('\n\t\td. Data (WARNING!: be sure BASE has data:- routine),'),
print('\n\t\te. Erase introduced data,'),
print('\n\t\tl. List objects,'),
print('\n\t\ti. Interchange BASE,'),
print('\n\t\tx. eXit program,'),
print('\n\t\ts. Exit system.'),
print('\n\n\t\t\t\tWhich '),ratom(X),o(X).
o(c):- file_in,menu.
o(l):- listing(obj),listing(es),listing(datum),print('\n\t\t\t RET'),ratom(_),
menu.
o(r):- case(X),retract(case(X)),asserta(case(n)),track.
o(f):- case(X),retract(case(X)),asserta(case(y)),trail.
o(e):- retract(datum(_)),fail.
o(e):- asserta(datum(no)),menu.
o(d):- data,menu.
o(i):- title(Z),forget(Z),retract(title(Z)),asserta(title(no_file)),
file_in,menu.
o(x):- halt.
o(s):- exitsys.
title(no_file).
case(n).
datum(no).
file_in:- print('\nTitulo: '),ratom(Tit),
title(S),retract(title(S)),asserta(title(Tit)),
consult(Tit).
indata:- print('Must be the data subroutine in the base\n'),!,data.
indata:- print('There is not subroutine data:- RET'),ratom(_),menu.
track:-cls,obj(X),!,print('RESULTS: ',X),print('\n\n\t\tRET'),
ratom(_),erase,menu.
track:- print('\nNOT DEFINED...'),
print('\n\n\tRET'),ratom(_),erase,menu.
trail:- cls,print('Result designation '),ratom(X),obj(X),listing(asserted),
listing(denied),print('\n\n\t\tRET'),ratom(_),erase,menu.
trail:- print('\nNOT DEFINED...'),print('\n\n\tRET'),
ratom(_),erase,menu.
affirm(X):- asserted(X),!.
affirm(X):- case(Y),Y='y',!,not(denied(X)),record(X,yes).
affirm(X):- case(Y),Y='n',!,not(denied(X)),question(X).
deny(X):- case(Y),Y='y',denied(X).
deny(X):- case(Y),Y='n',denied(X),!.
deny(X):- case(Y),Y='y',!,not(asserted(X)),record(X,no).
deny(X):- case(Y),Y='n',!,not(asserted(X)),question(X).
question(X):- print(X,' ? '), ratom(Answer), record(X,Answer).
record(X,yes):- asserta(asserted(X)).
record(X,no):- asserta(denied(X)), fail.
erase:- retract(asserted(_)),fail.
erase:- retract(denied(_)),fail.
erase:- menu.
?-menu.